<?php
/**
 * Created by PhpStorm.
 * User: yu
 * Date: 16-11-15
 * Time: 上午11:21
 */

namespace message\service;

use herosphp\core\Loader;
use herosphp\utils\Page;
use utils\x1\MyFunction;

Loader::import('utils.x1.MyFunction');

class TriggerNodeService
{
    //节点对应模板标签
    private $trigger_node_arr = array(

        'm1' => array(
            'name_zh' => '注册验证码',
            'tmpl_param' => '验证码,平台名称,短信签名',
        ),
        'm2' => array(
            'name_zh' => '会员注册成功',
            'tmpl_param' => '平台名称,短信签名',
        ),
        'm3' => array(
            'name_zh' => '修改会员账号验证码',
            'tmpl_param' => '验证码,平台名称,短信签名',
        ),
        'm4' => array(
            'name_zh' => '修改会员账号成功',
            'tmpl_param' => '会员昵称,平台名称,新会员手机号,短信签名',
        ),
        'm5' => array(
            'name_zh' => '修改登录密码验证码',
            'tmpl_param' => '验证码,平台名称,客服热线,短信签名',
        ),
        'm6' => array(
            'name_zh' => '修改登录密码成功',
            'tmpl_param' => '验证码,平台名称,客服热线,短信签名',
        ),

        't1' => array(
            'name_zh' => '下单成功-线上',
            'tmpl_param' => '会员昵称,平台名称,订单号,截止付款时间,短信签名',
        ),
        't2' => array(
            'name_zh' => '付款成功-线上',
            'tmpl_param' => '会员昵称,平台名称,订单号,短信签名',
        ),
        't3' => array(
            'name_zh' => '付款成功-线下',
            'tmpl_param' => '会员昵称,平台名称,订单号,短信签名',
        ),
        't4' => array(
            'name_zh' => '发货成功-卖家配送',
            'tmpl_param' => '会员昵称,平台名称,订单号,送货人姓名,送货人手机号码,短信签名',
        ),
        't5' => array(
            'name_zh' => '发货成功-买家自提',
            'tmpl_param' => '会员昵称,平台名称,订单号,短信签名',
        ),
        't6' => array(
            'name_zh' => '收货成功-卖家配送',
            'tmpl_param' => '会员昵称,平台名称,订单号,客服热线,短信签名',
        ),
        't7' => array(
            'name_zh' => '下单成功-线下',
            'tmpl_param' => '会员昵称,平台名称,订单号,短信签名',
        ),
        //双方确认模式
        't8' => array(
            'name_zh' => '下单成功-双方确认模式',
            'tmpl_param' => '会员昵称,平台名称,订单号,短信签名',
        ),
        't9' => array(
            'name_zh' => '卖家确认订单',
            'tmpl_param' => '会员昵称,平台名称,订单号,短信签名',
        ),
        't10' => array(
            'name_zh' => '买家确认订单-线上',
            'tmpl_param' => '会员昵称,平台名称,订单号,截止付款时间,短信签名',
        ),
        't11' => array(
            'name_zh' => '买家确认订单-线下',
            'tmpl_param' => '会员昵称,平台名称,订单号,短信签名',
        ),
    );

    public function getTrggerNodeArr()
    {

        return $this->trigger_node_arr;
    }

    public function getTmplParamArr($tmpl_param)
    {
        return explode(',', $tmpl_param);

    }

    /**
     * 根据节点和模板内容，来判读是否合法
     * @param $trgger_node 节点名称
     * @param $tmpl_content 模板内容
     * @return bool
     */
    public function validateTrggerNode($trgger_node, $tmpl_content)
    {
        foreach ($this->getTrggerNodeArr() as $k => $v) {

            if ($k == $trgger_node) {

                $find_tag_arr = array();

                preg_match_all('/{(.*?)}/', $tmpl_content, $re);

                if (isset($re[0])) {

                    for ($i = 0; $i < count($re[0]); $i++) {

                        $find_tag_arr[] = $re[1][$i];
                    }
                }

                if ($this->getTmplParamArr($v['tmpl_param']) == $find_tag_arr) {

                    return true;

                }
            }
        }
        return false;
    }


}